--- id: TASK-022 title: Track-changes / diff view + portable change markup (Fuss interop) status: "\U0001F7E6 Backlog" assignee: [] created_date: '2026-06-29 20:57' updated_date: '2026-06-30 00:22' labels: - feature - release-2 dependencies: [] priority: medium ordinal: 22000 --- ## Description Add a diff / track-changes capability to glint, plus a markup that travels inside the .md file so the same tracked changes are usable in Fuss — the collaborative web app for markdown track changes. The on-disk format is the contract between glint (terminal) and Fuss (web): edits made in one show as reviewable changes in the other. CriticMarkup is the established standard for this ({++ins++}, {--del--}, {~~old~>new~~}, {==highlight==}, {>>comment<<}); glint already renders ==highlight==, so adopting CriticMarkup is the natural path. Scope is two related pieces that can ship independently: (1) a diff / track-changes VIEW in the editor, and (2) read/write of the portable change markup. ## Acceptance Criteria - [ ] #1 A diff / track-changes view renders insertions, deletions, and (optionally) replacements with distinct theme-driven styling, readable on light and dark terminals - [ ] #2 glint reads a portable in-file change markup and displays the encoded changes as tracked changes (not raw markup) - [ ] #3 glint can write that same markup so a file edited in glint round-trips into Fuss with changes intact, and vice versa - [ ] #4 The chosen markup is a documented, interoperable format (CriticMarkup evaluated first as the de-facto md track-changes standard) — not a glint-only invention; the decision and rationale are recorded - [ ] #5 Accept / reject individual changes is supported or explicitly deferred with a note - [ ] #6 Files without any change markup open and behave exactly as today (zero overhead, no visual noise) - [ ] #7 README / help document the view, the keybind(s), and the on-disk format + Fuss interop